This file is going to be a simple document on how to go about creating a room.

   GOTO = This command allows you to go to a specified vnum (if it doesn't
          exist yet it will be created (if it is in your vnum range)).
          After it is created you may use redit to modify the room.

   RDIG = This command allows you to quickly dig out a new room in a specified
          direction.
          See HELP RDIG

  REDIT = This is the command you will use to set stuff in rooms.
          See HELP REDIT

 RPEDIT = This is the command you will use to add programs to rooms.
          See HELP RPEDIT

 RPCOPY = This command allows you to copy room programs from one room to
          another.
          See HELP RPCOPY

 MAPOUT = This command can be used to quickly create and link alot of rooms.
          See HELP MAPOUT

   Rooms don't need to be set as prototype since there is only one copy of each
room on the mud.

**********************************************************************************************************

  Building Rooms on LoP1.38
  By Hanaisse
-----------------------------
  Contents:

  - Create a room
  - Exit Making
  - Other useful commands while building
  - Room programs
  - Create a shop
  - Create a repair shop
  - Create a pet shop

------------------------------

   CREATE A ROOM
   --------------

1. Have a set of vnums vassigned to you by level Head or higher. The same vnums will be used for all rooms, mobiles and objects.
2. GOTO the first room vnum (RVnum). This will create the room shell.
3. Use REDIT to set the rooms parameters. REDIT works for the room you are in, there is no need to continually type redit <vnum>. Alternately you can use REDIT ON to set fields without having to continually type redit just
<field>. If using redit on, type DONE when completed to exit from redit.

   Usage: redit <field>

   Fields:
      desc                  Edit room description
      name <room name>      Set room name
        ed <keyword(s)>     Add/Edit extra description(s)
      rmed <keyword(s)>     Remove an extra description
    sector <sector type>    SEE HELP SECTORTYPES (or Sector Types below)
     flags <flags>          SEE HELP ROOMFLAGS   (or Room Flags below)
 
     SEE HELP EXITMAKING for these fields:  (or Exit Making below)
        exit   bexit   exdesc   exflags   exname   exkey
 
  EXAMPLES:
   redit name Testing    Sets the room name to Testing
   redit desc            Places you in a buffer so you can edit description
   redit flags private   Toggles the private room flag
   redit sector inside   Sets the room sectortype to inside
   redit ed testing      Creates an extra description called testing
   redit rmed testing    Removes an extra description called testing


   SECTOR TYPES
   -------------

   Usage: redit sector <sector>

   SECTORS:
    0         INSIDE      1           CITY
    2          FIELD      3         FOREST
    4          HILLS      5       MOUNTAIN
    6     WATER_SWIM      7   WATER_NOSWIM
    8     UNDERWATER      9            AIR
   10         DESERT     11          DUNNO
   12     OCEANFLOOR     13    UNDERGROUND
   14           LAVA     15          SWAMP


   ROOM FLAGS
   -----------

   Usage: redit flags <flag(s)>

   ROOM FLAGS:
             DND   Room is DoNotDisturb
            DARK   Room is always dark 
            SAFE   Room is safe... no violence allowed
           ARENA   Room is an arena
           DEATH   Room causes instant death
           NOMOB   Mobs cannot wander into this room
          LOCKER   Locker room... Can use locker command here
          NODROP   Nothing can be dropped in this room
          TUNNEL   Room is a tunnel - x number of players allowed
                   (use 'redit tunnel #' to  set the number)
         INDOORS   Room is indoors (MUST also use sectortype inside)
         NOFLOOR   Room has no floor: exit down + no fly = fall
         NOMAGIC   Magic cannot be used in this room
         PETSHOP   Petshop (next vnum must be the storeroom)
         PRIVATE   Room is private (restricted to 2 people)
         SILENCE   Not a sound can be made or heard in this room
        DONATION   Donation room... cannot get all
        EXPLORER   Players gain exp when entering (1 time)
        NOASTRAL   People cannot astral to this room
        NORECALL   Players cannot recall out of this room
        NOSUMMON   Player cannot be summoned out of this room
        SOLITARY   Room is solitary (restricted to 1 person)
        TELEPORT   People in this room will be teleported out
       NODROPALL   Cannot drop all in this room
       NOMISSILE   Missiles won't be of any use
       LOGSPEECH   All speech in this room is logged
     STORAGEROOM   Storage room
    NOSUPPLICATE   Players can't supplicate out
    TELESHOWDESC   Players will see the room desc of the destination room


   EXIT MAKING
   ------------

   Usage: redit <field>

   FIELDS:
      exit <direction> [<to room vnum>] [<key vnum>] [<keyword(s)>] [<flags>]
     bexit <direction> [<to room vnum>] [<key vnum>] [<keyword(s)>] [<flags>]
    exdesc <direction> <text>           Add an exit description on the exit
   exflags <direction> <flags>          SEE HELP EXFLAGS  (or Exit Flags below)
    exname <direction> <keyword(s)>     Give an exit a keyword
     exkey <direction> <key vnum>       Set the key vnum for an exit
 
   Possible Directions:
     nw    n    ne
     w   u   d   e
     sw    s    se
     ? <? is a somewhere exit direction>
 
   If only 'redit <exit/bexit> <direction>' is used the exit in that direction
   will be removed.


   EXIT FLAGS
   -----------

   Usage: redit exflags <dir> <flag(s)>

   Flags:
          DIG   Passage is blocked and must be dug out
          FLY   Must be able to fly to go that way
         AUTO   Keyword can be typed to go this way
         SWIM   Must be able to swim to go that way
        CLIMB   Must be able to climb to go that way
        NOMOB   Mobs may not pass through this exit
       BASHED   Denotes a door that has successfully been bashed open
       BOLTED   The door is bolted
       CLOSED   The door is closed
       EATKEY   The door will destroy the key when unlocked
       HIDDEN   Door is not "obvious" -- doesn't appear with autoexits
       ISBOLT   The door has a bolt
       ISDOOR   There is a door in that direction
       LOCKED   The door is locked
       NOFLEE   Can't flee through the exit
       PORTAL   The exit is a portal
       SECRET   The door is a secret door
       WINDOW   Points to a destination, but does not allow direct access to it
      PASSAGE   The exit is a passage
     CAN_LOOK   Allows a person to view the destination room for a WINDOW exit
     MCREATED   A mobile created the exit
    BASHPROOF   Cannot bash the door
    CAN_CLIMB   Can use the climb command to go this way
    CAN_ENTER   Can use the enter command to go this way
    CAN_LEAVE   Can use the leave command to go this way
    PICKPROOF   Door is pickproof
   NOPASSDOOR   Door is resistant to the passdoor spell
   SEARCHABLE   Searching in this direction can remove the SECRET flag

  
   EXAMPLES:
   redit exit n                      Removes the north exit
   redit exit n 3001                 Creates an exit north to room 3001
   redit exflags n isdoor closed     Sets the exit north to be a closed door
   redit exname n gate               Changes the north exit name to gate
   redit exkey n 15                  Sets the north exit to use key vnum 15
   redit bexit n 3001 15 gate isdoor closed
      Creates an exit north to 3001 that has the keyword gate, uses key
      vnum 15 and gives it the flags isdoor and closed and creates the exit
      back and sets it to match.


4. GOTO the next RVnum to create and set. 
   Alternatively, the RDIG or MAPOUT commands can be used to create room shells. You will still have to GOTO each room to set it's parameters.
5. Use SAVEAREA often to save completed work as you progress in case of a dreaded MUD crash.
   Usage: savearea [<area filename>]
   This command allows you to save a prototype area.
6. See RESETS.TXT for how to create resets for your area.



OTHER USEFUL COMMANDS FOR ROOM BUILDING
-----------------------------------------

- Use RSTAT to display information about a room.

   Usage: rstat [<location>]
   This command allows you to see the statistics on the specified location or your
   current location if no location is specified.

- Use RLIST to display a list of all room vnums in your area.

   Usage: rlist [free] [<start vnum>] [<end vnum>]
   If nothing is specified it will show all rooms in the area.
   If free is specified it will show all free rooms in the area.
   If <start vnum> is used it will show all rooms at and after that vnum.
   If <end vnum> is used it will show all rooms from the start to the end vnum.

- Use RDELETE to delete a room in your area.

   Usage: rdelete <vnum>
   This command allows you to remove the specified room vnum from the mud.


ROOM PROGRAMS
--------------
(See mudprograms.txt for more information on programs)

- Use RPEDIT to create/edit/delete room programs.

   Usage:  rpedit <command> [number]  [program] [arguments]
           rpedit add       <program> <arguments>
           rpedit insert    <number>  <program> <arguments>
           rpedit edit      <number>  [program] [arguments]
           rpedit delete    <number>
 
   Add, insert and edit will put you into the line editor to edit your
   program.  The arguments consist of a trigger, plus any arguments 
   associated with that trigger.
 
   **To edit a room program you must be in the room.

- Use RPCOPY to copy a room program from one room to another.

   Usage: rpcopy <room1> <program> [number] <room2>
          rpcopy <room1> all <room2>
          rpcopy <room1> all <room2> <program>

   Program being one of:
    act speech rand fight sleep rest leave
    entry death time hour script

   This command allows all/specified program(s) to be copied from one room to
   another one.

- Use RPSTAT to display any programs in the room you are in.

   Usage: rpstat [full/<program #>]
   This command allows you to see the room programs written for a room.
   If you use the 'full' argument it will show all programs and what is in them.
   If you use the '<program #>' it will show what is in the specified program.


CREATE A SHOP
--------------

1. Use MAKESHOP to create a new shop and a mob shopkeeper.

   Usage: makeshop <mobile vnum>
   Creates a new shop and assigns it to the specified mobile.

2. Use SHOPSET to apply shop parameters.

   Usage: shopset <mob vnum> <field> <value>

 -----------------------------------------------
| Fields   | Meaning                            |
 -----------------------------------------------
| buytype  | Type of items the keeper will buy  |
| buy      | Profit on buying items             |
| sell     | Profit on selling items            |
| open     | Hour shop opens                    |
| close    | Hour shop closes                   |
| keeper   | Vnum of shop keeper                |
 -----------------------------------------------

   Example: shopset 1000 buytype armor   [Shop will buy armor          ]  ** See OBJECTTYPES in object.txt
            shopset 1000 open 8          [Shop opens at 8am            ]
            shopset 1000 close 21        [Shop closes at 9pm           ]
            shopset 1000 buy 90          [Shop pays 90% of value to BUY]
            shopset 1000 sell 130        [Shop makes 30% profit on SELL]

   The items a shop sells are determined by the objects (flagged: inventory) given to the shopkeeper.
   The levels of the items in the shop are picked randomly based on item
   type and the level of the area:

              Item Type | Level Range
              ----------+-----------------------
               default  | 0                             
               pill     | 0 to 10                       
               potion   | 0 to 10                       
               scroll   | value[0] of the scroll
               wand     | 10 to 20                      
               staff    | 15 to 25                      
               armor    | 5 to 15                       
               weapon   | 5 to 15
  
- Use SHOPS to list all the shops in the area.

   Usage: shops
   Displays some statistics on all shops.

- Use SHOPSTAT to display info on a shop.

   Usage: shopstat <mobile vnum>
   Shows statistics on the specified shop.

- Use REMOVESHOP to delete a shop.

   Usage: removeshop <mobvnum>
   Removes the shop from the specified mobile.

3. Use SAVEAREA often to save completed work as you progress in case of a dreaded MUD crash.


CREATE A REPAIR SHOP
---------------------

1. Use MAKEREPAIR to create a new repair shop and mob capable of repairing.

   Usage: makerepair <mob vnum>
   Sets a mobile to be able to repair damaged equipment.

2. Use REPAIRSET to apply repair shop parameters.

   Usage: repairset <mob vnum> <field> <value>
   This command allows you to set what a repair shop does.
 
 ----------------------------------------------
| Fields  | Meaning                            |
 --------- ------------------------------------
| fixtype | Types of items the keeper will fix |
| profit  | Profit on fixing items             |
| type    | Repair shop type                   |
|         |   type 1 = standard                |
|         |   type 2 = recharge                |
| open    | Hour shop opens                    |
| close   | Hour shop closes                   |
| keeper  | Vnum of repair shop keeper         |
 ----------------------------------------------

  Example: repairset 1000 fixtype armor  [Mob will repair armor          ]  ** See OBJECTTYPES in object.txt
           repairset 1000 profit 125     [Mob charges 25% more than usual]
           repairset 1000 type 1         [Mob is a standard repair shop  ]
           repairset 1000 open 13        [Mob opens shop at 1pm          ]
           repairset 1000 close 0        [Mob closes shop at 12am        ]

- Use REPAIRSHOPS to list all the repair shops in the area.

   Usage: repairshops
   Shows statistics on all the repair shops.

- Use REPAIRSTAT to display info on a repair shop.

   Usage: repairstat <mob vnum>
   Shows all the statistics on a mobile's repair shop.

    Example; The Blacksmith's Tent in Darkhaven
    Keeper: 21002  the blacksmith
    Fixtype: light weapon armor container lockpick missileweapon quiver shovel keyring axe
    Profit: 100%
    Hours:   open  0  close 23


- Use REMOVEREPAIRSHOP to delete a repair shop.

   Usage: removerepairshop <mobvnum>
   Removes a repair shop from the specified mobile.

3. Use SAVEAREA often to save completed work as you progress in case of a dreaded MUD crash.


CREATE A PET SHOP
---------------------

1. Create a room using GOTO.
2. Use REDIT to set all the normal parameters, and set with a ROOMFLAG of PETSHOP.
3. Create a mob to act as shopkeeper setting all the normal parameters. There are no special flags required, typically just set as sentinel, pacifist.
4. GOTO the next vnum to create the 'stable' where the pets are kept. (The stable MUST be the next vnum from the petshop) This room should be flagged with NOMOB SOLITARY NOSUMMON NOASTRAL and PRIVATE with no exits.
5. Create animal mobs you want as pets. They should be set with ACT FLAGS PET. Load into the stable.
6. Use SAVEAREA often to save completed work as you progress in case of a dreaded MUD crash.

